﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Beeldbankmvc.ViewModels.ShoppingCartViewModel>" %>
<%@ Import Namespace="Beeldbankmvc.Helpers" %>
<%@ Import Namespace="Beeldbankmvc.Code" %>
<%@ Import Namespace="Beeldbankmvc.Controllers" %>
<%@ Import Namespace="Beeldbankmvc.Models" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"><%=DynamicContent.getTitle(Request.Path) %></asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <div class="page-title">
        <h1><%=DynamicContent.getTitle(Request.Path) %></h1>
    </div>
    <%=DynamicContent.getBodyText(Request.Path)%>
    <%
    if (Model.currentAccountModel != null)
    { %>
        <table class="winkelwagen" summary="Dit is een overzicht van producten die zich in uw winkelwagen bevinden, hierin worden per product een afbeelding, een omschrijving aantal en prijs getoond. Tot slot wordt er ook per media object een verwijder link getoond, welke het aantal van dit type media object met één verlaagt">
        <caption>Dit is een overzicht van producten die zich in uw winkelwagen bevinden</caption>
        <thead>
            <tr>
                <th colspan="5" scope="colgroup">Geselecteerde producten</th>
            </tr>
            <tr>
                <th scope="col">
                    Afbeelding
                </th>
                <th scope="col" class="custom-hide-from-mobile">
                    Omschrijving
                </th>
                <th scope="col">
                    Aantal
                </th>
                <th scope="col">
                    Prijs
                </th>
                <th scope="col">
                    <span class="hide">Verwijderen</span>
                </th>
            </tr>
        </thead>
        <tbody>
        <%
            PriceInfoRepository priceInfoRepository = new PriceInfoRepository();

            foreach (var item in Model.CartItems)
            {
                // Bereken kosten per stuk van dit item
                Double kostenPerStuk = priceInfoRepository.totalPrice(item.MediaTypeId, item.Type, item.Formaat, 1).price; 
                %>
                <tr>
                    <th scope="row">
                        <a class="custom-width" href="<%= Url.Action("Details", "MediaObject", new RouteValueDictionary(new { id = AppHelper.convertToUrlTitle(item.BEELDBANK_MEDIAOBJECT.Omschrijving, item.BEELDBANK_MEDIAOBJECT.Id) })) %>">
                            <%=Url.Image<HomeController>(c => c.DisplayThumb(item.BEELDBANK_MEDIAOBJECT.Id.ToString()), 100, AppHelper.convertHtmlStringToAltTag(item.BEELDBANK_MEDIAOBJECT), AppHelper.convertHtmlStringToAltTag(item.BEELDBANK_MEDIAOBJECT), "")%>
                        </a>
                        <div class="custom-mobile-only">
                            <%: Html.ActionLink(item.BEELDBANK_MEDIAOBJECT.Titel, "Details", "MediaObject", new { id = AppHelper.convertToUrlTitle(item.BEELDBANK_MEDIAOBJECT.Omschrijving, item.BEELDBANK_MEDIAOBJECT.Id) }, null)%><br />
                            <%: item.Type%><br />
                            <%: item.Formaat%><br />
                            <%: item.Afwerking%><br />
                            1 stuks a &euro;&nbsp;<%:  String.Format("{0:0.00}", kostenPerStuk)%>
                        </div>
                    </th>
                    <td class="custom-hide-from-mobile">
                        <%: Html.ActionLink(item.BEELDBANK_MEDIAOBJECT.Titel, "Details", "MediaObject", new { id = AppHelper.convertToUrlTitle(item.BEELDBANK_MEDIAOBJECT.Omschrijving, item.BEELDBANK_MEDIAOBJECT.Id) }, null)%><br />
                        <%: item.Type%><br />
                        <%: item.Formaat%><br />
                        <%: item.Afwerking%><br />
                        1 stuks a &euro;&nbsp;<%:  String.Format("{0:0.00}", kostenPerStuk)%>
                    </td>
                    <td>
                        <%: item.Aantal%>
                    </td>
                    <td class="bold nowrap">
                        &euro;
                        <%: String.Format("{0:0.00}", kostenPerStuk * Convert.ToInt32(item.Aantal))%>
                    </td>
                    <td class="custom-remove-icon">
                        <%: Html.ActionLink("Verwijderen", "RemoveFromCart", new { id = item.Id }, null)%>
                    </td>
                </tr>
                <%
            }
        %>
        </tbody>
        </table>
    <%
    } %>
    <div id="register" class="custom-cart-info">
        <% 
        // added a dummy variable because the shoppingcart can only have one checkout method
        // the login page redirects to the GET CheckOut instead of the POST CheckOut therefor a second 
        // CheckOut method needs to be available
        PriceObject prijsObject = PriceCalculator.priceItemsInShoppingCartByName(Model.CartUserId);

        using (Html.BeginForm("CheckOut", "ShoppingCart", new { i = 1 }))
        { %>
            <fieldset>
                <legend>Bestellen</legend>
                <table class="wwtot">
                <caption>Kostenoverzicht van deze bestelling</caption>
                <tbody>
                    <tr>
                        <th scope="row">
                            Subtotaal:
                        </th>
                        <td class="bold">
                            &euro;
                            <%: String.Format("{0:0.00}", prijsObject.totaleKostenAlleItems) %>
                        </td>
                    </tr>
                    <tr>
                        <th scope="row">
                            Handlings- en opstartkosten per bestelling:
                        </th>
                        <td>
                            € 25,00
                        </td>
                    </tr>
                    <tr>
                        <th scope="row">
                            Subtotaal:
                        </th>
                        <td class="bold nowrap">
                            &euro;
                            <%: String.Format("{0:0.00}", prijsObject.totalePlusBehandelingsKosten) %>
                        </td>
                    </tr>
                    <%
                    if (prijsObject.totaleKorting > 0)
                    { %>
                        <tr>
                            <th scope="row">
                                Totale scan korting:
                            </th>
                            <td class="nowrap">
                                - &euro;
                                <%: String.Format("{0:0.00}", prijsObject.totaleKorting) %>
                            </td>
                        </tr>
                    <%
                    } 
                    if (prijsObject.verzendKosten > 0)
                    { %>
                        <tr>
                            <th scope="row">
                                Kosten verzending per post:
                            </th>
                            <td class="nowrap">
                                &euro;
                                <%: String.Format("{0:0.00}", prijsObject.verzendKosten) %>
                            </td>
                        </tr>
                    <%
                    }
                    if (prijsObject.FTPKosten > 0)
                    { %>
                        <tr>
                            <th scope="row">
                                Kosten gereedzetten FTP:
                            </th>
                            <td class="nowrap">
                                &euro;
                                <%: String.Format("{0:0.00}", prijsObject.FTPKosten)%>
                            </td>
                        </tr>
                    <%
                    }
                    if ((Model.currentAccountModel != null) && (Model.getUserEmail().Contains("rws.nl")))
                    {
                    %>
                        <tr>
                            <th scope="row">
                                Subtotaal:
                            </th>
                            <td class="bold nowrap">
                                &euro;
                                <%: String.Format("{0:0.00}", prijsObject.uiteindelijkeBestelKosten)%>
                            </td>
                        </tr>
                        <tr>
                            <th scope="row" colspan="2" class="bold">
                                Verwerking RWS medewerkerskorting (50%):
                            </th>
                        </tr>
                        <%
                        // Calculate discount
                        prijsObject.totaleKostenZonderBTW = prijsObject.totaleKostenZonderBTW * 0.5;
                        prijsObject.btw = prijsObject.btw * 0.5;
                        prijsObject.uiteindelijkeBestelKosten = prijsObject.uiteindelijkeBestelKosten * 0.5;
                    }
                    %>
                    <tr>
                        <th scope="row">
                            Totaal (excl
                            <abbr title="Belasting over de toegevoegde waarde">
                                BTW</abbr>):
                        </th>
                        <td class="bold nowrap">
                            &euro;
                            <%: String.Format("{0:0.00}", prijsObject.totaleKostenZonderBTW) %>
                        </td>
                    </tr>
                    <tr>
                        <th scope="row">
                            <abbr title="Belasting over de toegevoegde waarde">
                                BTW</abbr>:
                        </th>
                        <td class="nowrap">
                            &euro;
                            <%: String.Format("{0:0.00}", prijsObject.btw) %>
                        </td>
                    </tr>
                    <tr>
                        <th scope="row">
                            Totaal (incl
                            <abbr title="Belasting over de toegevoegde waarde">
                                BTW</abbr>):
                        </th>
                        <td class="bold nowrap">
                            &euro;
                            <%: String.Format("{0:0.00}", prijsObject.uiteindelijkeBestelKosten) %>
                        </td>
                    </tr>
                </tbody>
                </table>
            </fieldset>
            <%
            if (Model.currentAccountModel != null)
            { %>
                <h2>
                    Gebruikers details
                </h2>
                <p>
                    Bedrijf :
                    <%: Model.currentAccountModel.CompanyName%>
                    <br />
                    Contactpersoon :
                    <%: Model.currentAccountModel.FirstName%>
                    <%: Model.currentAccountModel.Prepositions%>
                    <%: Model.currentAccountModel.LastName%>
                    <br />
                    Telefoon :
                    <%: Model.currentAccountModel.Phone%>
                    <br />
                    E-mail :
                    <%: Model.getUserEmail()%>
                </p>
                <h2>
                    Afleveradres :
                </h2>
                <p>
                    <%: Model.currentAccountModel.Address%>
                    <%: Model.currentAccountModel.AddressNr%><br />
                    <%: Model.currentAccountModel.ZipCode%>
                    <%: Model.currentAccountModel.City%><br />
                    <%: Model.getCountryNameById(Model.currentAccountModel.Country)%>
                </p>
                <h2>
                    Rijkswaterstaat medewerkers:</h2>
                <p>
                    Hieronder dient het factuuradres van de
                    <abbr title="Corporate Dienst Rijkswaterstaat">
                        CDR</abbr>
                    te staan, inclusief het
                    <abbr title="Systems, Applications and Products in data processing">
                        SAP</abbr>
                    opdrachtnummer.<br />
                    Wanneer u hieronder nog niet het juiste factuuradres ziet, dient u deze eerst bij
                    uw persoonlijke profiel aan te passen alvorens een bestelling te plaatsen.
                </p>
                <h2>
                    Factuuradres :
                </h2>
                <p>
                    <%: Model.currentAccountModel.FactuurAddress%>
                    <%: Model.currentAccountModel.FactuurAddressNr%><br />
                    <%: Model.currentAccountModel.FactuurZipCode%>
                    <%: Model.currentAccountModel.FactuurCity%><br />
                    <%: Model.getCountryNameById(Model.currentAccountModel.FactuurLand)%>
                </p>
                <h2>
                    Extra informatie
                </h2>
                <p>
                    Uw interne opdrachtnummer (<abbr title="Systems, Applications and Products in data processing">SAP</abbr>
                    bijvoorbeeld) of eigen registratienummer :
                    <br />
                    <textarea class="custom-full-textarea" name="opdrachtNumemr" id="opdrachtNumemr" rows="1" cols="50"></textarea><br />
                    <br />
                    Gebruik van het bestelde materiaal :
                    <br />
                    <textarea class="custom-full-textarea" name="gebruikMateriaal" id="gebruikMateriaal" rows="4" cols="50"></textarea><br />
                    <br />
                    Opmerkingen of aanvullingen :
                    <br />
                    <textarea class="custom-full-textarea" name="opmerkingen" id="opmerkingen" rows="4" cols="50"></textarea>
                </p>
                <div>
                    <button class="winkelbutton" type="submit" value="Save">
                        Bestellen</button>
                </div>
            <%
            }
            else
            {%>
                <div class="validation-summary-errors">
                    <p>
                        U bent niet ingelogd of heeft uw persoonlijke account gegevens nog niet (volledig)
                        ingevuld.
                        <br />
                        Bestellen is pas mogelijk wanneer deze gegevens correct zijn ingevuld (onder meer
                        factuur- en afleveradres).
                    </p>
                </div>
                <p>
                    U kunt <a href="/Account/EditAccount" title="Interne doorverwijzing naar uw persoonlijks gegevens pagina">
                        uw persoonlijke gegevens</a> direct wijzigen of eerst verder gaan met het aanpassen
                    van de winkelwagen.
                </p>
            <%
            }
        } %>
    </div>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="AsideContent" runat="server" />